#define EXTERN extern
#ifndef __GLOBAL_H__
#define __GLOBAL_H__
#ifdef	__GLOBAL_VARIABLES__
#undef	EXTERN
#define	EXTERN
#endif
#include "type.h"
#include "sysdescriptor.h"
#include "kconst.h"
#include "proc.h"
#include "irq.h"
EXTERN u8		gdt_ptr[6];	/* 0~15:Limit  16~47:Base */
EXTERN DESCRIPTOR	gdt[GDT_SIZE];
EXTERN u8		idt_ptr[6];	/* 0~15:Limit  16~47:Base */
EXTERN GATE		idt[IDT_SIZE];

#define NR_IRQ 16

EXTERN TSS tss;

EXTERN PROCESS		proc_table[NR_TASKS + NR_PROC];
EXTERN TASK         task_table[NR_TASKS];
EXTERN TASK         user_proc_table[NR_PROC];
EXTERN PROCESS*	p_proc_ready;

void TestA();
void TestB();
void TestC();

EXTERN char		task_stack[1];
EXTERN int k_reenter; 


EXTERN irq_handler irq_table[NR_IRQ]; //中断表

EXTERN int ticks;

EXTERN int dis_char_pos;

EXTERN u32 nr_current_console;

#endif